/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package DataAccessObject;

import BusinessEntity.BE_Personal;
import BusinessEntity.BE_Usuario;
import Comun.Conexion;
import java.sql.CallableStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

/**
 *
 * @author richard.saldana
 */
public class DA_Personal {
  
    Conexion con;
    ResultSet rs;
    CallableStatement declaracion;

    private static DA_Personal pinstancia=null;

    public static DA_Personal obtenerInstancia()
    {
      if (pinstancia==null)
      {
          pinstancia=new DA_Personal();
      }
      return pinstancia;
    }
    
    public ArrayList<BE_Personal> obtenerPersonalAsignacion() throws InstantiationException, IllegalAccessException, SQLException{

        con = Conexion.ObtenerInstancia();
        ArrayList<BE_Personal> aobjBE_personal = new ArrayList<BE_Personal>();

        try {
            con.IniciarConexion();
            String strProcedure = "{call obtenerPersonalAsignacion() }";
            declaracion = con.preparaLlamada(strProcedure);
            declaracion.execute();
            rs = declaracion.getResultSet();   
            
            while(rs.next()){
                BE_Personal objBE_personal = new BE_Personal();
                objBE_personal.setIdPersonal(rs.getInt("idPersonal"));
                objBE_personal.setStrNombre(rs.getString("nombre"));
                objBE_personal.setStrApePat(rs.getString("apePaterno"));
                objBE_personal.setStrApeMat(rs.getString("apeMaterno"));
                
                BE_Usuario objBE_Usuario = new BE_Usuario();
                objBE_Usuario.setIdUsuario(rs.getInt("idUsuario"));
                
                objBE_personal.setObjBEUsuario(objBE_Usuario);

                aobjBE_personal.add(objBE_personal);
                
            }

   
        } catch (SQLException exception) {
            System.out.println("error: " + exception.getMessage());
            exception.printStackTrace();
        } finally {
            
            con.CerrarConexion();
 
            
        }
        
        return aobjBE_personal;
      
}
}
